package accoes;

import jogo.Mapa;
import jogo.Player;
import figuras.Figura;

public class Ataque {

	private Figura figura;
	private Player player_alvo;
	private Figura alvo;
	private final Mapa mapa;

	public Ataque(Mapa mapa, Figura figura, Player player_alvo, Figura alvo) {
		this.mapa = mapa;
		this.figura = figura;
		this.player_alvo = player_alvo;
		this.alvo = alvo;
	}

	public void investida() throws InterruptedException {
		alvo.perdeVida(figura.getAtaque());
		if (alvo.verificaSeMorreu()) {
			if (mapa.getSelecionada() != null) {
				if (mapa.getSelecionada().equals(alvo.getPosicao())) {
					mapa.setSelecionada(null);
				}
			}
			figura.removeAtaque(this);
			alvo.removeAtaque(this);
			player_alvo.removeTropa(alvo);
			mapa.repaint();
		}
	}

	public Figura getFigura() {
		return figura;
	}

	public Figura getAlvo() {
		return alvo;
	}
}